When a plurality of services are operated in cooperation with each other, a service control system which executes a plurality of services by combining and with assuring response requirement in particular in a user's request is proposed as a first related art of the present invention (for example, refer to patent document 1).
FIG. 103 shows a configuration of the service control system according to this first related art. This service control system 100 includes first and second service providers 101, 102 which provide services, a service requester 103 which is a client which requests services, and a service coordinator 104 which provides providing services provided by any one of the first and the second service providers 101, 102 to the service requester 103 by combining plural services.
In the service control system 100 like this, the service coordinator 104 is provided with a receiving part III for receiving request information sent from the service requester 103, a transmission part 112 for transmitting receive rejection information which rejects to receive the request information, a cooperation service management part 113 for making a plurality of services operate in cooperation, an executing part 114 for executing each service of service group which is requested by the request information having been received at the receiving part 111 based on a result of judgment of the cooperation service management part 113, and a memory storage (memory unit) 117 for storing the providing service 115 provided by the first service provider 101 and load information 116 which indicates processing status of the service provided by the first service provider 101.
In the service control system 100, the service requester 103 transmits the request information for requesting each service of the service group, which combines any of services among a plurality of services as a group, to be provided. The receiving part 111 in the service coordinator 104 receives this request information and supplies it to the cooperation service management part 113. The cooperation service management part 113 is managing current providing status of each service of the service group mentioned above. The cooperation service management part 113 judges whether it is possible or not to provide each service of the service group, which is requested by the request information received at the receiving part 111, based on service providing conditions indicated by a plurality of service providing condition information stored in the memory storage 117.
The executing part 114 in the service coordinator 104 executes each service of the service group, which is received by the receiving part 111 from the service provider 101, based on the result of judgment by the cooperation service management part 113, and provides the execution result to the service requester 103. The transmission part 112 distinguishes whether the cooperation service management part 113 has judged that it was possible to provide all of the services of the service group which was requested by the request information received at the receiving part 111. And, when it is not possible to provide all of the services, the receive rejection information which rejects an acceptance of the request information received at the receiving part 111 is transmitted to the service requester 103.
In contrast, FIG. 104 shows a configuration of the service control system according to a second related art. A distributed service control apparatus 140 which constitutes this service control system 130 is arranged in the system in which a plurality of servers operates in cooperation by exchanging messages. The distributed service control apparatus 140 is arranged as a repeater at front end of the server (message processing unit) 160 which executes services.
A message receiving control part 141 of this distributed service control apparatus 140 controls reception of a processing request message 142 from other server which is not shown. A message state management unit 143 includes a message weight calculation part 144 and a message weight storage part 145. When the processing request message 142 is sent from the message receiving control part 141, the message weight calculation part 144 calculates processing amount to the processing request message 142, more specifically, predicted value of processing time in the server 160 based on a predetermined message weight rule. The message weight calculation part 144 stores the processing amount of the server 160 having been calculated in the message weight storage part 145 as message weight information.
A message queue 147 temporarily accumulates the processing request message 142 to the server 160. A processing request management unit 148 includes a plurality of executable thread 149 and a thread group control part 150, and transmits the processing request message 142 to the server 160 for making the server execute the processing. Here, the thread group control part 150 performs management of the thread 149 and allocation of processing. The thread 149 transmits the processing request message 142 to the server 160 for making the server execute the processing. The number of this thread 149 becomes the number of parallel processing in the server 160.
A service quality performance storage part 151 stores information relating to service quality requirements which should be satisfied as performance requirements of the server 160. A control rule decision part 152 controls a size of the message queue 147 and the number of parallel processing of the processing request message 142 in the processing request management unit 148, based on the processing time and the service quality requirements to the processing request message 142. The control rule decision part 152 performs correction (learning) of the message weight rule by using the message weight information (server processing amount), which has been calculated using the message weight rule, and an actual measurement result of the processing time in the server 160.
In the service control system 130 of such a configuration, the message weight calculation part 144 calculates processing amount in the server 160 to the processing request message 142 stored in the message queue 147. The thread 149 takes the processing request message 142 out from the message queue 147 and makes the server 160 execute the processing. The control rule decision part 152 determines the size of the message queue 147 and the number of parallel processing of the thread 149 so that service quality requirements may be satisfied.